package com.zhongc.advance.dao;

import com.zhongc.advance.info.Permission;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface PermissionDao {
    List<Permission> getPermissionsByUserId(@Param("userId") String userId, @Param("display") boolean display);
    /**
     * 获取可用的操作权限
     * @param userId
     * @param owner
     * @return
     */
    List<String> getOperatesByUserId(@Param("userId") String userId);

    /**
     * 添加权限
     * @param permission
     */
    void addPermission(Permission permission);

    /**
     * 更新权限
     * @param permission
     */
    int updatePermission(Permission permission);

    /**
     * 根据角色代码查询角色权限
     * @param roleId 角色主键
     * @return
     */
    List<Permission> queryPermissionByRoleId (@Param("roleId")String roleId);

    /**
     * 根据父节点查询权限
     * @param parentCode 父节点
     * @return
     */
    List<Permission> queryPermissionByParentCode(@Param("parentCode") String parentCode);

    /**
     * 根据主键查询权限信息
     * @param permissionId
     * @return
     */
    Permission queryPermissionById(@Param("permissionId") String permissionId);
}